@lapismd/mira 0.0.3 → 0.0.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (203) hide show
  1. package/CHANGELOG.md +16 -0
  2. package/dist/extensions/index.d.ts +7 -0
  3. package/dist/extensions/index.d.ts.map +1 -1
  4. package/dist/preview/editable-markdown-preview/editable-markdown-surface.svelte +20 -9
  5. package/dist/preview/editable-markdown-preview/editable-markdown-surface.svelte.d.ts.map +1 -1
  6. package/dist/preview/editable-markdown-preview/editing-session.d.ts +13 -0
  7. package/dist/preview/editable-markdown-preview/editing-session.d.ts.map +1 -0
  8. package/dist/preview/editable-markdown-preview/editing-session.js +50 -0
  9. package/dist/preview/editable-markdown-preview/editor-surface.svelte +13 -4
  10. package/dist/preview/editable-markdown-preview/editor-surface.svelte.d.ts +1 -0
  11. package/dist/preview/editable-markdown-preview/editor-surface.svelte.d.ts.map +1 -1
  12. package/dist/preview/editable-markdown-preview/serialized-writer.d.ts +5 -1
  13. package/dist/preview/editable-markdown-preview/serialized-writer.d.ts.map +1 -1
  14. package/dist/preview/editable-markdown-preview/serialized-writer.js +29 -0
  15. package/dist/preview/editable-markdown-preview.svelte +8 -6
  16. package/dist/preview/editable-markdown-preview.svelte.d.ts.map +1 -1
  17. package/package.json +6 -3
  18. package/dist/core/code-mirror.test.d.ts +0 -2
  19. package/dist/core/code-mirror.test.d.ts.map +0 -1
  20. package/dist/core/code-mirror.test.js +0 -68
  21. package/dist/core/images.test.d.ts +0 -2
  22. package/dist/core/images.test.d.ts.map +0 -1
  23. package/dist/core/images.test.js +0 -109
  24. package/dist/core/index.test.d.ts +0 -2
  25. package/dist/core/index.test.d.ts.map +0 -1
  26. package/dist/core/index.test.js +0 -11
  27. package/dist/core/markdown-actions.test.d.ts +0 -2
  28. package/dist/core/markdown-actions.test.d.ts.map +0 -1
  29. package/dist/core/markdown-actions.test.js +0 -182
  30. package/dist/extensions/doodle-dividers.test.d.ts +0 -2
  31. package/dist/extensions/doodle-dividers.test.d.ts.map +0 -1
  32. package/dist/extensions/doodle-dividers.test.js +0 -296
  33. package/dist/extensions/index.test.d.ts +0 -2
  34. package/dist/extensions/index.test.d.ts.map +0 -1
  35. package/dist/extensions/index.test.js +0 -283
  36. package/dist/index.test.d.ts +0 -2
  37. package/dist/index.test.d.ts.map +0 -1
  38. package/dist/index.test.js +0 -64
  39. package/dist/internal/appearance-context.test.d.ts +0 -2
  40. package/dist/internal/appearance-context.test.d.ts.map +0 -1
  41. package/dist/internal/appearance-context.test.js +0 -31
  42. package/dist/internal/codemirror/base/index.test.d.ts +0 -2
  43. package/dist/internal/codemirror/base/index.test.d.ts.map +0 -1
  44. package/dist/internal/codemirror/base/index.test.js +0 -303
  45. package/dist/internal/codemirror/base/search.test.d.ts +0 -2
  46. package/dist/internal/codemirror/base/search.test.d.ts.map +0 -1
  47. package/dist/internal/codemirror/base/search.test.js +0 -155
  48. package/dist/internal/codemirror/base/selection-toolbar.test.d.ts +0 -2
  49. package/dist/internal/codemirror/base/selection-toolbar.test.d.ts.map +0 -1
  50. package/dist/internal/codemirror/base/selection-toolbar.test.js +0 -149
  51. package/dist/internal/codemirror/markdown/authoring.test.d.ts +0 -2
  52. package/dist/internal/codemirror/markdown/authoring.test.d.ts.map +0 -1
  53. package/dist/internal/codemirror/markdown/authoring.test.js +0 -222
  54. package/dist/internal/codemirror/markdown/index.test.d.ts +0 -2
  55. package/dist/internal/codemirror/markdown/index.test.d.ts.map +0 -1
  56. package/dist/internal/codemirror/markdown/index.test.js +0 -158
  57. package/dist/internal/codemirror/markdown/showcase-fixture.test.d.ts +0 -2
  58. package/dist/internal/codemirror/markdown/showcase-fixture.test.d.ts.map +0 -1
  59. package/dist/internal/codemirror/markdown/showcase-fixture.test.js +0 -50
  60. package/dist/internal/codemirror/rich/block-controls.test.d.ts +0 -2
  61. package/dist/internal/codemirror/rich/block-controls.test.d.ts.map +0 -1
  62. package/dist/internal/codemirror/rich/block-controls.test.js +0 -401
  63. package/dist/internal/codemirror/rich/block-ranges.test.d.ts +0 -2
  64. package/dist/internal/codemirror/rich/block-ranges.test.d.ts.map +0 -1
  65. package/dist/internal/codemirror/rich/block-ranges.test.js +0 -310
  66. package/dist/internal/codemirror/rich/block-toolbar.test.d.ts +0 -2
  67. package/dist/internal/codemirror/rich/block-toolbar.test.d.ts.map +0 -1
  68. package/dist/internal/codemirror/rich/block-toolbar.test.js +0 -178
  69. package/dist/internal/codemirror/rich/decorations/fold-indicators.test.d.ts +0 -2
  70. package/dist/internal/codemirror/rich/decorations/fold-indicators.test.d.ts.map +0 -1
  71. package/dist/internal/codemirror/rich/decorations/fold-indicators.test.js +0 -8
  72. package/dist/internal/codemirror/rich/index.test.d.ts +0 -2
  73. package/dist/internal/codemirror/rich/index.test.d.ts.map +0 -1
  74. package/dist/internal/codemirror/rich/index.test.js +0 -607
  75. package/dist/internal/codemirror/rich/utils/code-block-lines.test.d.ts +0 -2
  76. package/dist/internal/codemirror/rich/utils/code-block-lines.test.d.ts.map +0 -1
  77. package/dist/internal/codemirror/rich/utils/code-block-lines.test.js +0 -82
  78. package/dist/internal/codemirror/rich/utils/fenced-code.test.d.ts +0 -2
  79. package/dist/internal/codemirror/rich/utils/fenced-code.test.d.ts.map +0 -1
  80. package/dist/internal/codemirror/rich/utils/fenced-code.test.js +0 -12
  81. package/dist/internal/codemirror/rich/utils/headings.test.d.ts +0 -2
  82. package/dist/internal/codemirror/rich/utils/headings.test.d.ts.map +0 -1
  83. package/dist/internal/codemirror/rich/utils/headings.test.js +0 -27
  84. package/dist/internal/codemirror/rich/utils/height-estimates.test.d.ts +0 -2
  85. package/dist/internal/codemirror/rich/utils/height-estimates.test.d.ts.map +0 -1
  86. package/dist/internal/codemirror/rich/utils/height-estimates.test.js +0 -10
  87. package/dist/internal/codemirror/rich/utils/images.test.d.ts +0 -2
  88. package/dist/internal/codemirror/rich/utils/images.test.d.ts.map +0 -1
  89. package/dist/internal/codemirror/rich/utils/images.test.js +0 -37
  90. package/dist/internal/codemirror/rich/utils/indent.test.d.ts +0 -2
  91. package/dist/internal/codemirror/rich/utils/indent.test.d.ts.map +0 -1
  92. package/dist/internal/codemirror/rich/utils/indent.test.js +0 -169
  93. package/dist/internal/codemirror/rich/utils/inline-math.test.d.ts +0 -2
  94. package/dist/internal/codemirror/rich/utils/inline-math.test.d.ts.map +0 -1
  95. package/dist/internal/codemirror/rich/utils/inline-math.test.js +0 -15
  96. package/dist/internal/codemirror/rich/utils/links.test.d.ts +0 -2
  97. package/dist/internal/codemirror/rich/utils/links.test.d.ts.map +0 -1
  98. package/dist/internal/codemirror/rich/utils/links.test.js +0 -28
  99. package/dist/internal/codemirror/rich/utils/list-callouts.test.d.ts +0 -2
  100. package/dist/internal/codemirror/rich/utils/list-callouts.test.d.ts.map +0 -1
  101. package/dist/internal/codemirror/rich/utils/list-callouts.test.js +0 -47
  102. package/dist/internal/codemirror/rich/utils/measured-indent.test.d.ts +0 -2
  103. package/dist/internal/codemirror/rich/utils/measured-indent.test.d.ts.map +0 -1
  104. package/dist/internal/codemirror/rich/utils/measured-indent.test.js +0 -102
  105. package/dist/internal/codemirror/rich/utils/ranges.test.d.ts +0 -2
  106. package/dist/internal/codemirror/rich/utils/ranges.test.d.ts.map +0 -1
  107. package/dist/internal/codemirror/rich/utils/ranges.test.js +0 -22
  108. package/dist/internal/codemirror/rich/utils/tasks.test.d.ts +0 -2
  109. package/dist/internal/codemirror/rich/utils/tasks.test.d.ts.map +0 -1
  110. package/dist/internal/codemirror/rich/utils/tasks.test.js +0 -57
  111. package/dist/internal/task-states.test.d.ts +0 -2
  112. package/dist/internal/task-states.test.d.ts.map +0 -1
  113. package/dist/internal/task-states.test.js +0 -36
  114. package/dist/mira-code-editor.test.d.ts +0 -2
  115. package/dist/mira-code-editor.test.d.ts.map +0 -1
  116. package/dist/mira-code-editor.test.js +0 -93
  117. package/dist/mode-position.test.d.ts +0 -2
  118. package/dist/mode-position.test.d.ts.map +0 -1
  119. package/dist/mode-position.test.js +0 -60
  120. package/dist/preview/code-language.test.d.ts +0 -2
  121. package/dist/preview/code-language.test.d.ts.map +0 -1
  122. package/dist/preview/code-language.test.js +0 -12
  123. package/dist/preview/components/icon.test.d.ts +0 -2
  124. package/dist/preview/components/icon.test.d.ts.map +0 -1
  125. package/dist/preview/components/icon.test.js +0 -20
  126. package/dist/preview/editable-markdown-preview/behavior.test.d.ts +0 -2
  127. package/dist/preview/editable-markdown-preview/behavior.test.d.ts.map +0 -1
  128. package/dist/preview/editable-markdown-preview/behavior.test.js +0 -36
  129. package/dist/preview/editable-markdown-preview/serialized-writer.test.d.ts +0 -2
  130. package/dist/preview/editable-markdown-preview/serialized-writer.test.d.ts.map +0 -1
  131. package/dist/preview/editable-markdown-preview/serialized-writer.test.js +0 -59
  132. package/dist/preview/embed-target.test.d.ts +0 -2
  133. package/dist/preview/embed-target.test.d.ts.map +0 -1
  134. package/dist/preview/embed-target.test.js +0 -78
  135. package/dist/preview/frontmatter/frontmatter.test.d.ts +0 -2
  136. package/dist/preview/frontmatter/frontmatter.test.d.ts.map +0 -1
  137. package/dist/preview/frontmatter/frontmatter.test.js +0 -190
  138. package/dist/preview/frontmatter/suggestions.test.d.ts +0 -2
  139. package/dist/preview/frontmatter/suggestions.test.d.ts.map +0 -1
  140. package/dist/preview/frontmatter/suggestions.test.js +0 -45
  141. package/dist/preview/outline.test.d.ts +0 -2
  142. package/dist/preview/outline.test.d.ts.map +0 -1
  143. package/dist/preview/outline.test.js +0 -98
  144. package/dist/preview/portable-surfaces.test.d.ts +0 -2
  145. package/dist/preview/portable-surfaces.test.d.ts.map +0 -1
  146. package/dist/preview/portable-surfaces.test.js +0 -513
  147. package/dist/preview/preview.test.d.ts +0 -2
  148. package/dist/preview/preview.test.d.ts.map +0 -1
  149. package/dist/preview/preview.test.js +0 -154
  150. package/dist/preview/remark/callouts.test.d.ts +0 -2
  151. package/dist/preview/remark/callouts.test.d.ts.map +0 -1
  152. package/dist/preview/remark/callouts.test.js +0 -23
  153. package/dist/preview/remark/custom-checklists.test.d.ts +0 -2
  154. package/dist/preview/remark/custom-checklists.test.d.ts.map +0 -1
  155. package/dist/preview/remark/custom-checklists.test.js +0 -51
  156. package/dist/preview/remark/links.test.d.ts +0 -2
  157. package/dist/preview/remark/links.test.d.ts.map +0 -1
  158. package/dist/preview/remark/links.test.js +0 -62
  159. package/dist/preview/remark/parity.test.d.ts +0 -2
  160. package/dist/preview/remark/parity.test.d.ts.map +0 -1
  161. package/dist/preview/remark/parity.test.js +0 -105
  162. package/dist/preview/styles/frontmatter-properties.test.d.ts +0 -2
  163. package/dist/preview/styles/frontmatter-properties.test.d.ts.map +0 -1
  164. package/dist/preview/styles/frontmatter-properties.test.js +0 -57
  165. package/dist/preview/styles/source-mode.test.d.ts +0 -2
  166. package/dist/preview/styles/source-mode.test.d.ts.map +0 -1
  167. package/dist/preview/styles/source-mode.test.js +0 -28
  168. package/dist/tables/extension.test.d.ts +0 -2
  169. package/dist/tables/extension.test.d.ts.map +0 -1
  170. package/dist/tables/extension.test.js +0 -100
  171. package/dist/tables/grid-editor-column.test.d.ts +0 -2
  172. package/dist/tables/grid-editor-column.test.d.ts.map +0 -1
  173. package/dist/tables/grid-editor-column.test.js +0 -27
  174. package/dist/tables/grid-table.test.d.ts +0 -2
  175. package/dist/tables/grid-table.test.d.ts.map +0 -1
  176. package/dist/tables/grid-table.test.js +0 -140
  177. package/dist/tables/index.test.d.ts +0 -2
  178. package/dist/tables/index.test.d.ts.map +0 -1
  179. package/dist/tables/index.test.js +0 -7
  180. package/dist/tables/inline-editor-extensions.test.d.ts +0 -2
  181. package/dist/tables/inline-editor-extensions.test.d.ts.map +0 -1
  182. package/dist/tables/inline-editor-extensions.test.js +0 -23
  183. package/dist/tables/pipe-table.test.d.ts +0 -2
  184. package/dist/tables/pipe-table.test.d.ts.map +0 -1
  185. package/dist/tables/pipe-table.test.js +0 -13
  186. package/dist/tables/table-node.test.d.ts +0 -2
  187. package/dist/tables/table-node.test.d.ts.map +0 -1
  188. package/dist/tables/table-node.test.js +0 -167
  189. package/dist/tables/widgets/source-button.test.d.ts +0 -2
  190. package/dist/tables/widgets/source-button.test.d.ts.map +0 -1
  191. package/dist/tables/widgets/source-button.test.js +0 -11
  192. package/dist/themes/theme-contract.test.d.ts +0 -2
  193. package/dist/themes/theme-contract.test.d.ts.map +0 -1
  194. package/dist/themes/theme-contract.test.js +0 -88
  195. package/dist/ui/index.test.d.ts +0 -2
  196. package/dist/ui/index.test.d.ts.map +0 -1
  197. package/dist/ui/index.test.js +0 -7
  198. package/dist/ui/styles.test.d.ts +0 -2
  199. package/dist/ui/styles.test.d.ts.map +0 -1
  200. package/dist/ui/styles.test.js +0 -26
  201. package/dist/ui/table-dnd/table-dnd-utils.test.d.ts +0 -2
  202. package/dist/ui/table-dnd/table-dnd-utils.test.d.ts.map +0 -1
  203. package/dist/ui/table-dnd/table-dnd-utils.test.js +0 -46
package/CHANGELOG.md CHANGED
@@ -1,5 +1,21 @@
1
1
  # @lapismd/mira
2
2
 
3
+ ## 0.0.5
4
+
5
+ ### Patch Changes
6
+
7
+ - [#12](https://github.com/lapismd/mira-mde/pull/12) [`91f88d8`](https://github.com/lapismd/mira-mde/commit/91f88d8e4c2afab3b18a5a7596bec0fde872ce3a) Thanks [@stevejuma](https://github.com/stevejuma)! - Add optional source-bound Markdown editing sessions to file adapters so hosts
8
+ can drain pending saves and protect embedded editors during external updates.
9
+ Retain failed teardown saves for retry, preserve the original write destination,
10
+ and exclude emitted test modules from published tarballs.
11
+
12
+ ## 0.0.4
13
+
14
+ ### Patch Changes
15
+
16
+ - [#10](https://github.com/lapismd/mira-mde/pull/10) [`32cd876`](https://github.com/lapismd/mira-mde/commit/32cd876b208dffd703d614bb66fc21b0b787d086) Thanks [@stevejuma](https://github.com/stevejuma)! - Update Bits UI so destroying an opening property menu cancels pending overlay
17
+ registration and focus work without Svelte lifecycle warnings or pointer locks.
18
+
3
19
  ## 0.0.3
4
20
 
5
21
  ### Patch Changes
@@ -254,7 +254,14 @@ export type MiraResolvedListCallout = Omit<MiraListCallout, "color"> & {
254
254
  export type MiraListCalloutMarkerRenderer = (element: HTMLElement, callout: MiraResolvedListCallout) => void | (() => void);
255
255
  export declare const defaultMiraEditorListCallouts: readonly MiraResolvedListCallout[];
256
256
  export declare function resolveMiraListCallouts(contributions?: readonly MiraListCallout[]): MiraResolvedListCallout[];
257
+ /** A portable persistence barrier owned by one source-bound Markdown writer. */
258
+ export type MiraMarkdownEditingSession = {
259
+ readonly dirty: boolean;
260
+ flush: () => Promise<void>;
261
+ protect: () => Promise<() => void>;
262
+ };
257
263
  export type MiraFileAdapter = {
264
+ registerEditingSession?: (sourcePath: string, session: MiraMarkdownEditingSession) => void | (() => void);
258
265
  resolveLink: (target: MiraFileTarget) => MiraFileRef | null | Promise<MiraFileRef | null>;
259
266
  readMarkdown?: (file: MiraFileRef) => string | null | Promise<string | null>;
260
267
  writeMarkdown?: (file: MiraFileRef, value: string) => void | Promise<void>;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/extensions/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/extensions/index.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  <script lang="ts">
2
- import { onDestroy, tick, untrack, type Snippet } from "svelte";
2
+ import { tick, untrack, type Snippet } from "svelte";
3
3
  import type {
4
4
  MiraAssetResolver,
5
5
  MiraExtension,
@@ -14,6 +14,7 @@
14
14
  shouldReturnEditableMarkdownPreviewOnBlur,
15
15
  } from "./behavior";
16
16
  import EditorSurface from "./editor-surface.svelte";
17
+ import { attachMarkdownEditingSession } from "./editing-session";
17
18
  import {
18
19
  SerializedMarkdownWriter,
19
20
  type SerializedMarkdownWriterState,
@@ -83,6 +84,7 @@
83
84
  let buffer = $state("");
84
85
  let pendingOffset = $state<number | null>(null);
85
86
  let writerState = $state<SerializedMarkdownWriterState>({
87
+ readonly: false,
86
88
  dirty: false,
87
89
  saving: false,
88
90
  error: null,
@@ -94,7 +96,7 @@
94
96
  let previewScrollRatio = 0;
95
97
  let editorScrollRatio = 0;
96
98
 
97
- const writable = $derived(Boolean(writeMarkdown));
99
+ const writable = $derived(Boolean(writeMarkdown) && !writerState.readonly);
98
100
 
99
101
  $effect(() => {
100
102
  previewOnChange = writable ? updatePreviewRange : undefined;
@@ -106,15 +108,16 @@
106
108
  $effect(() => {
107
109
  const write = writeMarkdown;
108
110
  const key = sourcePath;
111
+ const adapter = fileAdapter;
109
112
  const initialValue = untrack(() => value);
110
113
  key;
111
114
 
112
- writer?.destroy();
113
115
  writer = null;
114
116
  buffer = initialValue;
115
117
  lastExternalValue = initialValue;
116
118
  lastPersistedNotification = initialValue;
117
119
  writerState = {
120
+ readonly: false,
118
121
  dirty: false,
119
122
  saving: false,
120
123
  error: null,
@@ -127,10 +130,12 @@
127
130
  return;
128
131
  }
129
132
 
133
+ let current = true;
130
134
  const activeWriter = new SerializedMarkdownWriter({
131
135
  value: initialValue,
132
136
  write,
133
137
  onStateChange(state) {
138
+ if (!current) return;
134
139
  writerState = state;
135
140
  buffer = state.value;
136
141
  if (state.persistedValue !== lastPersistedNotification) {
@@ -140,9 +145,18 @@
140
145
  },
141
146
  });
142
147
  writer = activeWriter;
148
+ const attached = attachMarkdownEditingSession({
149
+ writer: activeWriter,
150
+ sourcePath: key,
151
+ register: adapter?.registerEditingSession
152
+ ? (path, session) => adapter.registerEditingSession?.(path, session)
153
+ : undefined,
154
+ synchronizeProtection: tick,
155
+ });
143
156
 
144
157
  return () => {
145
- activeWriter.destroy();
158
+ current = false;
159
+ attached.detach();
146
160
  if (writer === activeWriter) {
147
161
  writer = null;
148
162
  }
@@ -251,8 +265,8 @@
251
265
  }
252
266
 
253
267
  function updateBuffer(nextValue: string): void {
268
+ if (!writer?.update(nextValue)) return;
254
269
  buffer = nextValue;
255
- writer?.update(nextValue);
256
270
  }
257
271
 
258
272
  function updatePreviewRange(
@@ -316,10 +330,6 @@
316
330
  await leaveEditing("blur");
317
331
  return !editing;
318
332
  }
319
-
320
- onDestroy(() => {
321
- writer?.destroy();
322
- });
323
333
  </script>
324
334
 
325
335
  <div
@@ -342,6 +352,7 @@
342
352
  >
343
353
  <EditorSurface
344
354
  value={buffer}
355
+ readonly={writerState.readonly}
345
356
  {extensions}
346
357
  {sourcePath}
347
358
  {linkResolver}
@@ -1 +1 @@
1
- {"version":3,"file":"editable-markdown-surface.svelte.d.ts","sourceRoot":"","sources":["../../../src/preview/editable-markdown-preview/editable-markdown-surface.svelte.ts"],"names":[],"mappings":"AAGA,OAAO,EAA4B,KAAK,OAAO,EAAE,MAAM,QAAQ,CAAC;AAChE,OAAO,KAAK,EACR,iBAAiB,EACjB,aAAa,EACb,eAAe,EACf,eAAe,EACf,gBAAgB,EAChB,2BAA2B,EAC5B,MAAM,0BAA0B,CAAC;AAalC,KAAK,mBAAmB,GAAG,CACzB,WAAW,EAAE,MAAM,EACnB,IAAI,EAAE,MAAM,EACZ,EAAE,EAAE,MAAM,KACP,IAAI,CAAC;AAEV,KAAK,KAAK,GAAG;IACX,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,OAAO,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC;IAC3B,eAAe,CAAC,EAAE,mBAAmB,CAAC;IACtC,aAAa,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACxD,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,UAAU,CAAC,EAAE,aAAa,EAAE,CAAC;IAC7B,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,YAAY,CAAC,EAAE,gBAAgB,CAAC;IAChC,aAAa,CAAC,EAAE,iBAAiB,CAAC;IAClC,WAAW,CAAC,EAAE,eAAe,CAAC;IAC9B,WAAW,CAAC,EAAE,eAAe,CAAC;IAC9B,SAAS,CAAC,EAAE,2BAA2B,CAAC;IACxC,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,4BAA4B,CAAC,EAAE,OAAO,CAAC;IACvC,qBAAqB,CAAC,EAAE,OAAO,CAAC;IAChC,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,WAAW,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACtC,eAAe,CAAC,EAAE,CAAC,OAAO,EAAE,OAAO,KAAK,IAAI,CAAC;IAC7C,QAAQ,CAAC,EAAE,MAAM,IAAI,CAAC;IACtB,mBAAmB,CAAC,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,KAAK,IAAI,CAAC;CACrE,CAAC;AAsTJ,QAAA,MAAM,uBAAuB;iBA9CF,OAAO,CAAC,OAAO,CAAC;gBAIjB,OAAO,CAAC,OAAO,CAAC;iCA0C2B,CAAC;AACtE,KAAK,uBAAuB,GAAG,UAAU,CAAC,OAAO,uBAAuB,CAAC,CAAC;AAC1E,eAAe,uBAAuB,CAAC"}
1
+ {"version":3,"file":"editable-markdown-surface.svelte.d.ts","sourceRoot":"","sources":["../../../src/preview/editable-markdown-preview/editable-markdown-surface.svelte.ts"],"names":[],"mappings":"AAGA,OAAO,EAAiB,KAAK,OAAO,EAAE,MAAM,QAAQ,CAAC;AACrD,OAAO,KAAK,EACR,iBAAiB,EACjB,aAAa,EACb,eAAe,EACf,eAAe,EACf,gBAAgB,EAChB,2BAA2B,EAC5B,MAAM,0BAA0B,CAAC;AAclC,KAAK,mBAAmB,GAAG,CACzB,WAAW,EAAE,MAAM,EACnB,IAAI,EAAE,MAAM,EACZ,EAAE,EAAE,MAAM,KACP,IAAI,CAAC;AAEV,KAAK,KAAK,GAAG;IACX,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,OAAO,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC;IAC3B,eAAe,CAAC,EAAE,mBAAmB,CAAC;IACtC,aAAa,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACxD,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,UAAU,CAAC,EAAE,aAAa,EAAE,CAAC;IAC7B,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,YAAY,CAAC,EAAE,gBAAgB,CAAC;IAChC,aAAa,CAAC,EAAE,iBAAiB,CAAC;IAClC,WAAW,CAAC,EAAE,eAAe,CAAC;IAC9B,WAAW,CAAC,EAAE,eAAe,CAAC;IAC9B,SAAS,CAAC,EAAE,2BAA2B,CAAC;IACxC,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,4BAA4B,CAAC,EAAE,OAAO,CAAC;IACvC,qBAAqB,CAAC,EAAE,OAAO,CAAC;IAChC,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,WAAW,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACtC,eAAe,CAAC,EAAE,CAAC,OAAO,EAAE,OAAO,KAAK,IAAI,CAAC;IAC7C,QAAQ,CAAC,EAAE,MAAM,IAAI,CAAC;IACtB,mBAAmB,CAAC,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,KAAK,IAAI,CAAC;CACrE,CAAC;AAgUJ,QAAA,MAAM,uBAAuB;iBA1CF,OAAO,CAAC,OAAO,CAAC;gBAIjB,OAAO,CAAC,OAAO,CAAC;iCAsC2B,CAAC;AACtE,KAAK,uBAAuB,GAAG,UAAU,CAAC,OAAO,uBAAuB,CAAC,CAAC;AAC1E,eAAe,uBAAuB,CAAC"}
@@ -0,0 +1,13 @@
1
+ import type { MiraFileAdapter, MiraMarkdownEditingSession } from "../../extensions";
2
+ import type { SerializedMarkdownWriter } from "./serialized-writer";
3
+ /** Retain detached writers until persistence succeeds so external operations can join them. */
4
+ export declare function attachMarkdownEditingSession(options: {
5
+ writer: SerializedMarkdownWriter;
6
+ sourcePath?: string;
7
+ register?: MiraFileAdapter["registerEditingSession"];
8
+ synchronizeProtection?: () => Promise<void>;
9
+ }): {
10
+ session: MiraMarkdownEditingSession;
11
+ detach(): void;
12
+ };
13
+ //# sourceMappingURL=editing-session.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"editing-session.d.ts","sourceRoot":"","sources":["../../../src/preview/editable-markdown-preview/editing-session.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,eAAe,EACf,0BAA0B,EAC3B,MAAM,kBAAkB,CAAC;AAC1B,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,qBAAqB,CAAC;AAEpE,+FAA+F;AAC/F,wBAAgB,4BAA4B,CAAC,OAAO,EAAE;IACpD,MAAM,EAAE,wBAAwB,CAAC;IACjC,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,EAAE,eAAe,CAAC,wBAAwB,CAAC,CAAC;IACrD,qBAAqB,CAAC,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;CAC7C,GAAG;IAAE,OAAO,EAAE,0BAA0B,CAAC;IAAC,MAAM,IAAI,IAAI,CAAA;CAAE,CA6C1D"}
@@ -0,0 +1,50 @@
1
+ /** Retain detached writers until persistence succeeds so external operations can join them. */
2
+ export function attachMarkdownEditingSession(options) {
3
+ const { writer } = options;
4
+ let detached = false;
5
+ let remove;
6
+ const session = {
7
+ get dirty() {
8
+ const state = writer.state;
9
+ return state.dirty || state.saving || state.error !== null;
10
+ },
11
+ async flush() {
12
+ if (!(await writer.flush()))
13
+ throw writer.state.error ?? new Error("Unable to save Markdown");
14
+ if (detached && remove) {
15
+ remove();
16
+ remove = undefined;
17
+ }
18
+ },
19
+ async protect() {
20
+ const release = await writer.protect();
21
+ try {
22
+ await options.synchronizeProtection?.();
23
+ return release;
24
+ }
25
+ catch (error) {
26
+ release();
27
+ throw error;
28
+ }
29
+ },
30
+ };
31
+ try {
32
+ if (options.sourcePath)
33
+ remove = options.register?.(options.sourcePath, session);
34
+ }
35
+ catch (error) {
36
+ writer.destroy();
37
+ throw error;
38
+ }
39
+ return {
40
+ session,
41
+ detach() {
42
+ if (detached)
43
+ return;
44
+ detached = true;
45
+ writer.destroy();
46
+ // A failed detached save remains discoverable, with the writer's error retained.
47
+ void session.flush().catch(() => undefined);
48
+ },
49
+ };
50
+ }
@@ -22,6 +22,7 @@
22
22
 
23
23
  type Props = {
24
24
  value: string;
25
+ readonly?: boolean;
25
26
  extensions?: MiraExtension[];
26
27
  sourcePath?: string;
27
28
  linkResolver?: MiraLinkResolver;
@@ -40,6 +41,7 @@
40
41
 
41
42
  let {
42
43
  value,
44
+ readonly = false,
43
45
  extensions = [],
44
46
  sourcePath,
45
47
  linkResolver,
@@ -63,13 +65,14 @@
63
65
  const resolvedExtensions = $derived(
64
66
  resolveMiraExtensions(extensions, {
65
67
  mode: "live-preview",
66
- readonly: false,
68
+ readonly,
67
69
  sourcePath,
68
70
  }),
69
71
  );
70
72
  const extensionSignature = $derived(
71
73
  [
72
74
  sourcePath,
75
+ readonly,
73
76
  frontmatterOpen,
74
77
  JSON.stringify({ authoring, frontmatterConfig, imageConfig }),
75
78
  extensions.map((extension) => extension.name).join(","),
@@ -85,15 +88,17 @@
85
88
  return {
86
89
  view,
87
90
  mode: "live-preview",
88
- readonly: false,
91
+ readonly,
89
92
  sourcePath,
90
93
  getValue: () => activeEditor?.getValue() ?? value,
91
94
  setValue(nextValue) {
95
+ if (readonly) return;
92
96
  activeEditor?.setValue(nextValue);
93
97
  onChange?.(nextValue);
94
98
  },
95
99
  focus: () => activeEditor?.focus(),
96
100
  insertMarkdown(markdown, selection) {
101
+ if (readonly) return;
97
102
  activeEditor?.replaceSelection(markdown, selection);
98
103
  activeEditor?.focus();
99
104
  },
@@ -104,7 +109,7 @@
104
109
  return createMiraCodeMirrorExtensions({
105
110
  includeBaseExtensions: false,
106
111
  mode: "live-preview",
107
- readonly: false,
112
+ readonly,
108
113
  lineWrapping: true,
109
114
  spellcheck: true,
110
115
  blockControls: false,
@@ -122,6 +127,7 @@
122
127
  frontmatterConfig,
123
128
  runtimeContext: (view) => runtimeContext(codeEditor, view),
124
129
  onChange(replacement, from, to) {
130
+ if (readonly) return;
125
131
  codeEditor?.getView()?.dispatch({
126
132
  changes: { from, to, insert: replacement },
127
133
  });
@@ -212,6 +218,7 @@
212
218
  <MiraCodeEditor
213
219
  bind:this={codeEditor}
214
220
  {value}
221
+ {readonly}
215
222
  extensions={codeMirrorExtensions}
216
223
  lineWrapping={true}
217
224
  spellcheck={true}
@@ -223,6 +230,8 @@
223
230
  height="fill"
224
231
  minHeight="100%"
225
232
  class="mira-editable-markdown-preview__editor-host"
226
- onChange={(nextValue) => onChange?.(nextValue)}
233
+ onChange={(nextValue) => {
234
+ if (!readonly) onChange?.(nextValue);
235
+ }}
227
236
  />
228
237
  </div>
@@ -1,6 +1,7 @@
1
1
  import { type MiraAssetResolver, type MiraExtension, type MiraFileAdapter, type MiraImageConfig, type MiraLinkResolver, type MiraMarkdownAuthoringConfig } from "@lapismd/mira/extensions";
2
2
  type Props = {
3
3
  value: string;
4
+ readonly?: boolean;
4
5
  extensions?: MiraExtension[];
5
6
  sourcePath?: string;
6
7
  linkResolver?: MiraLinkResolver;
@@ -1 +1 @@
1
- {"version":3,"file":"editor-surface.svelte.d.ts","sourceRoot":"","sources":["../../../src/preview/editable-markdown-preview/editor-surface.svelte.ts"],"names":[],"mappings":"AAUA,OAAO,EAGH,KAAK,iBAAiB,EACtB,KAAK,aAAa,EAElB,KAAK,eAAe,EACpB,KAAK,eAAe,EACpB,KAAK,gBAAgB,EACrB,KAAK,2BAA2B,EACjC,MAAM,0BAA0B,CAAC;AAKlC,KAAK,KAAK,GAAG;IACX,KAAK,EAAE,MAAM,CAAC;IACd,UAAU,CAAC,EAAE,aAAa,EAAE,CAAC;IAC7B,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,YAAY,CAAC,EAAE,gBAAgB,CAAC;IAChC,aAAa,CAAC,EAAE,iBAAiB,CAAC;IAClC,WAAW,CAAC,EAAE,eAAe,CAAC;IAC9B,WAAW,CAAC,EAAE,eAAe,CAAC;IAC9B,SAAS,CAAC,EAAE,2BAA2B,CAAC;IACxC,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,eAAe,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAChC,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACnC,mBAAmB,CAAC,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,KAAK,IAAI,CAAC;IACpE,QAAQ,CAAC,EAAE,MAAM,IAAI,CAAC;CACvB,CAAC;AAsLJ,QAAA,MAAM,aAAa,2CAAwC,CAAC;AAC5D,KAAK,aAAa,GAAG,UAAU,CAAC,OAAO,aAAa,CAAC,CAAC;AACtD,eAAe,aAAa,CAAC"}
1
+ {"version":3,"file":"editor-surface.svelte.d.ts","sourceRoot":"","sources":["../../../src/preview/editable-markdown-preview/editor-surface.svelte.ts"],"names":[],"mappings":"AAUA,OAAO,EAGH,KAAK,iBAAiB,EACtB,KAAK,aAAa,EAElB,KAAK,eAAe,EACpB,KAAK,eAAe,EACpB,KAAK,gBAAgB,EACrB,KAAK,2BAA2B,EACjC,MAAM,0BAA0B,CAAC;AAKlC,KAAK,KAAK,GAAG;IACX,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,UAAU,CAAC,EAAE,aAAa,EAAE,CAAC;IAC7B,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,YAAY,CAAC,EAAE,gBAAgB,CAAC;IAChC,aAAa,CAAC,EAAE,iBAAiB,CAAC;IAClC,WAAW,CAAC,EAAE,eAAe,CAAC;IAC9B,WAAW,CAAC,EAAE,eAAe,CAAC;IAC9B,SAAS,CAAC,EAAE,2BAA2B,CAAC;IACxC,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,eAAe,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAChC,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACnC,mBAAmB,CAAC,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,KAAK,IAAI,CAAC;IACpE,QAAQ,CAAC,EAAE,MAAM,IAAI,CAAC;CACvB,CAAC;AA6LJ,QAAA,MAAM,aAAa,2CAAwC,CAAC;AAC5D,KAAK,aAAa,GAAG,UAAU,CAAC,OAAO,aAAa,CAAC,CAAC;AACtD,eAAe,aAAa,CAAC"}
@@ -1,4 +1,5 @@
1
1
  export type SerializedMarkdownWriterState = {
2
+ readonly: boolean;
2
3
  dirty: boolean;
3
4
  saving: boolean;
4
5
  error: Error | null;
@@ -20,10 +21,13 @@ export declare class SerializedMarkdownWriter {
20
21
  private value;
21
22
  private persistedValue;
22
23
  private saving;
24
+ private protections;
25
+ private destroyed;
23
26
  private error;
24
27
  constructor(options: Options);
25
28
  get state(): SerializedMarkdownWriterState;
26
- update(value: string): void;
29
+ update(value: string): boolean;
30
+ protect(): Promise<() => void>;
27
31
  replaceExternal(value: string): boolean;
28
32
  flush(): Promise<boolean>;
29
33
  destroy(): void;
@@ -1 +1 @@
1
- {"version":3,"file":"serialized-writer.d.ts","sourceRoot":"","sources":["../../../src/preview/editable-markdown-preview/serialized-writer.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,6BAA6B,GAAG;IAC1C,KAAK,EAAE,OAAO,CAAC;IACf,MAAM,EAAE,OAAO,CAAC;IAChB,KAAK,EAAE,KAAK,GAAG,IAAI,CAAC;IACpB,KAAK,EAAE,MAAM,CAAC;IACd,cAAc,EAAE,MAAM,CAAC;CACxB,CAAC;AAEF,KAAK,OAAO,GAAG;IACb,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC/C,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,aAAa,CAAC,EAAE,CAAC,KAAK,EAAE,6BAA6B,KAAK,IAAI,CAAC;CAChE,CAAC;AAEF,qBAAa,wBAAwB;IACnC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAmB;IAEzC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAS;IAE/B,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAC,CAA2B;IAE1D,OAAO,CAAC,KAAK,CAA8C;IAE3D,OAAO,CAAC,YAAY,CAAiC;IAErD,OAAO,CAAC,KAAK,CAAS;IAEtB,OAAO,CAAC,cAAc,CAAS;IAE/B,OAAO,CAAC,MAAM,CAAS;IAEvB,OAAO,CAAC,KAAK,CAAsB;gBAEvB,OAAO,EAAE,OAAO;IAS5B,IAAI,KAAK,IAAI,6BAA6B,CAQzC;IAED,MAAM,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAO3B,eAAe,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO;IAYjC,KAAK,IAAI,OAAO,CAAC,OAAO,CAAC;IAkB/B,OAAO,IAAI,IAAI;IAOf,OAAO,CAAC,QAAQ;YAYF,WAAW;IA0BzB,OAAO,CAAC,UAAU;IAOlB,OAAO,CAAC,IAAI;CAGb"}
1
+ {"version":3,"file":"serialized-writer.d.ts","sourceRoot":"","sources":["../../../src/preview/editable-markdown-preview/serialized-writer.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,6BAA6B,GAAG;IAC1C,QAAQ,EAAE,OAAO,CAAC;IAClB,KAAK,EAAE,OAAO,CAAC;IACf,MAAM,EAAE,OAAO,CAAC;IAChB,KAAK,EAAE,KAAK,GAAG,IAAI,CAAC;IACpB,KAAK,EAAE,MAAM,CAAC;IACd,cAAc,EAAE,MAAM,CAAC;CACxB,CAAC;AAEF,KAAK,OAAO,GAAG;IACb,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC/C,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,aAAa,CAAC,EAAE,CAAC,KAAK,EAAE,6BAA6B,KAAK,IAAI,CAAC;CAChE,CAAC;AAEF,qBAAa,wBAAwB;IACnC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAmB;IAEzC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAS;IAE/B,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAC,CAA2B;IAE1D,OAAO,CAAC,KAAK,CAA8C;IAE3D,OAAO,CAAC,YAAY,CAAiC;IAErD,OAAO,CAAC,KAAK,CAAS;IAEtB,OAAO,CAAC,cAAc,CAAS;IAE/B,OAAO,CAAC,MAAM,CAAS;IAEvB,OAAO,CAAC,WAAW,CAAK;IAExB,OAAO,CAAC,SAAS,CAAS;IAE1B,OAAO,CAAC,KAAK,CAAsB;gBAEvB,OAAO,EAAE,OAAO;IAS5B,IAAI,KAAK,IAAI,6BAA6B,CASzC;IAED,MAAM,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO;IASxB,OAAO,IAAI,OAAO,CAAC,MAAM,IAAI,CAAC;IAoBpC,eAAe,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO;IAYjC,KAAK,IAAI,OAAO,CAAC,OAAO,CAAC;IAkB/B,OAAO,IAAI,IAAI;IASf,OAAO,CAAC,QAAQ;YAYF,WAAW;IA0BzB,OAAO,CAAC,UAAU;IAOlB,OAAO,CAAC,IAAI;CAGb"}
@@ -7,6 +7,8 @@ export class SerializedMarkdownWriter {
7
7
  value;
8
8
  persistedValue;
9
9
  saving = false;
10
+ protections = 0;
11
+ destroyed = false;
10
12
  error = null;
11
13
  constructor(options) {
12
14
  this.value = options.value;
@@ -18,6 +20,7 @@ export class SerializedMarkdownWriter {
18
20
  }
19
21
  get state() {
20
22
  return {
23
+ readonly: this.protections > 0 || this.destroyed,
21
24
  dirty: this.value !== this.persistedValue,
22
25
  saving: this.saving,
23
26
  error: this.error,
@@ -26,10 +29,34 @@ export class SerializedMarkdownWriter {
26
29
  };
27
30
  }
28
31
  update(value) {
32
+ if (this.protections > 0 || this.destroyed)
33
+ return false;
29
34
  this.value = value;
30
35
  this.error = null;
31
36
  this.schedule();
32
37
  this.emit();
38
+ return true;
39
+ }
40
+ async protect() {
41
+ this.protections++;
42
+ this.emit();
43
+ let released = false;
44
+ const release = () => {
45
+ if (released)
46
+ return;
47
+ released = true;
48
+ this.protections--;
49
+ this.emit();
50
+ };
51
+ try {
52
+ if (!(await this.flush()))
53
+ throw this.error ?? new Error("Unable to protect unsaved Markdown");
54
+ return release;
55
+ }
56
+ catch (error) {
57
+ release();
58
+ throw error;
59
+ }
33
60
  }
34
61
  replaceExternal(value) {
35
62
  if (this.state.dirty || this.saving) {
@@ -59,7 +86,9 @@ export class SerializedMarkdownWriter {
59
86
  }
60
87
  }
61
88
  destroy() {
89
+ this.destroyed = true;
62
90
  this.clearTimer();
91
+ this.emit();
63
92
  if (this.state.dirty) {
64
93
  void this.flush();
65
94
  }
@@ -84,12 +84,14 @@
84
84
  | ((replacement: string, from: number, to: number) => void)
85
85
  | undefined = $state(undefined);
86
86
 
87
- const writeMarkdown = $derived(
88
- fileAdapter.writeMarkdown &&
89
- (file.kind === undefined || file.kind === "markdown")
90
- ? (nextValue: string) => fileAdapter.writeMarkdown?.(file, nextValue)
91
- : undefined,
92
- );
87
+ const writeMarkdown = $derived.by(() => {
88
+ const adapter = fileAdapter,
89
+ target = file;
90
+ return adapter.writeMarkdown &&
91
+ (target.kind === undefined || target.kind === "markdown")
92
+ ? (nextValue: string) => adapter.writeMarkdown?.(target, nextValue)
93
+ : undefined;
94
+ });
93
95
 
94
96
  $effect(() => {
95
97
  const currentFile = file;
@@ -1 +1 @@
1
- {"version":3,"file":"editable-markdown-preview.svelte.d.ts","sourceRoot":"","sources":["../../src/preview/editable-markdown-preview.svelte.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EACR,iBAAiB,EACjB,aAAa,EACb,eAAe,EACf,WAAW,EACX,eAAe,EACf,gBAAgB,EAChB,eAAe,EACf,2BAA2B,EAC3B,yBAAyB,EACzB,sBAAsB,EACvB,MAAM,0BAA0B,CAAC;AACpC,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,gCAAgC,CAAC;AAKtE,KAAK,KAAK,GAAG;IACX,IAAI,EAAE,WAAW,CAAC;IAClB,WAAW,EAAE,eAAe,CAAC;IAC7B,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,UAAU,CAAC,EAAE,aAAa,EAAE,CAAC;IAC7B,UAAU,CAAC,EAAE,sBAAsB,CAAC;IACpC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,YAAY,CAAC,EAAE,gBAAgB,CAAC;IAChC,aAAa,CAAC,EAAE,iBAAiB,CAAC;IAClC,WAAW,CAAC,EAAE,eAAe,CAAC;IAC9B,SAAS,CAAC,EAAE,2BAA2B,CAAC;IACxC,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,iBAAiB,CAAC,EAAE,iBAAiB,CAAC;IACtC,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,UAAU,CAAC,EAAE,SAAS,GAAG,MAAM,CAAC;IAChC,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,YAAY,CAAC,EAAE,eAAe,EAAE,CAAC;IACjC,WAAW,CAAC,EAAE,yBAAyB,CAAC;IACxC,4BAA4B,CAAC,EAAE,OAAO,CAAC;IACvC,qBAAqB,CAAC,EAAE,OAAO,CAAC;IAChC,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,eAAe,CAAC,EAAE,CAAC,OAAO,EAAE,OAAO,KAAK,IAAI,CAAC;IAC7C,QAAQ,CAAC,EAAE,MAAM,IAAI,CAAC;IACtB,mBAAmB,CAAC,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,KAAK,IAAI,CAAC;CACrE,CAAC;AAoHJ,QAAA,MAAM,uBAAuB;iBArBF,OAAO,CAAC,OAAO,CAAC;gBAIjB,OAAO,CAAC,OAAO,CAAC;aAiB2B,CAAC;AACtE,KAAK,uBAAuB,GAAG,UAAU,CAAC,OAAO,uBAAuB,CAAC,CAAC;AAC1E,eAAe,uBAAuB,CAAC"}
1
+ {"version":3,"file":"editable-markdown-preview.svelte.d.ts","sourceRoot":"","sources":["../../src/preview/editable-markdown-preview.svelte.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EACR,iBAAiB,EACjB,aAAa,EACb,eAAe,EACf,WAAW,EACX,eAAe,EACf,gBAAgB,EAChB,eAAe,EACf,2BAA2B,EAC3B,yBAAyB,EACzB,sBAAsB,EACvB,MAAM,0BAA0B,CAAC;AACpC,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,gCAAgC,CAAC;AAKtE,KAAK,KAAK,GAAG;IACX,IAAI,EAAE,WAAW,CAAC;IAClB,WAAW,EAAE,eAAe,CAAC;IAC7B,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,UAAU,CAAC,EAAE,aAAa,EAAE,CAAC;IAC7B,UAAU,CAAC,EAAE,sBAAsB,CAAC;IACpC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,YAAY,CAAC,EAAE,gBAAgB,CAAC;IAChC,aAAa,CAAC,EAAE,iBAAiB,CAAC;IAClC,WAAW,CAAC,EAAE,eAAe,CAAC;IAC9B,SAAS,CAAC,EAAE,2BAA2B,CAAC;IACxC,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,iBAAiB,CAAC,EAAE,iBAAiB,CAAC;IACtC,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,UAAU,CAAC,EAAE,SAAS,GAAG,MAAM,CAAC;IAChC,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,YAAY,CAAC,EAAE,eAAe,EAAE,CAAC;IACjC,WAAW,CAAC,EAAE,yBAAyB,CAAC;IACxC,4BAA4B,CAAC,EAAE,OAAO,CAAC;IACvC,qBAAqB,CAAC,EAAE,OAAO,CAAC;IAChC,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,eAAe,CAAC,EAAE,CAAC,OAAO,EAAE,OAAO,KAAK,IAAI,CAAC;IAC7C,QAAQ,CAAC,EAAE,MAAM,IAAI,CAAC;IACtB,mBAAmB,CAAC,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,KAAK,IAAI,CAAC;CACrE,CAAC;AAsHJ,QAAA,MAAM,uBAAuB;iBArBF,OAAO,CAAC,OAAO,CAAC;gBAIjB,OAAO,CAAC,OAAO,CAAC;aAiB2B,CAAC;AACtE,KAAK,uBAAuB,GAAG,UAAU,CAAC,OAAO,uBAAuB,CAAC,CAAC;AAC1E,eAAe,uBAAuB,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@lapismd/mira",
3
- "version": "0.0.3",
3
+ "version": "0.0.5",
4
4
  "description": "Composable Markdown editor, extension SDK, preview renderer, and UI for Mira.",
5
5
  "author": "Steve Juma <help@lapis.md>",
6
6
  "license": "Apache-2.0",
@@ -17,7 +17,10 @@
17
17
  "types": "./dist/index.d.ts",
18
18
  "files": [
19
19
  "CHANGELOG.md",
20
- "dist"
20
+ "dist",
21
+ "!dist/**/*.test.*",
22
+ "!dist/**/*.spec.*",
23
+ "!dist/**/__tests__/**"
21
24
  ],
22
25
  "exports": {
23
26
  ".": {
@@ -83,7 +86,7 @@
83
86
  "@dnd-kit/svelte": "^0.4.0",
84
87
  "@fontsource/source-code-pro": "^5.2.7",
85
88
  "@lucide/svelte": "^0.525.0",
86
- "bits-ui": "2.18.1",
89
+ "bits-ui": "2.19.5",
87
90
  "clsx": "^2.1.1",
88
91
  "hast-util-to-text": "^4.0.2",
89
92
  "katex": "0.18.10",
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=code-mirror.test.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"code-mirror.test.d.ts","sourceRoot":"","sources":["../../src/core/code-mirror.test.ts"],"names":[],"mappings":""}
@@ -1,68 +0,0 @@
1
- // @vitest-environment jsdom
2
- import { describe, expect, it } from "vitest";
3
- import { EditorView } from "@codemirror/view";
4
- import { defineMiraExtension } from "../extensions";
5
- import { createBaseCodeMirrorExtensions } from "../internal/codemirror/base";
6
- import { createMiraCodeMirrorExtensions } from "./code-mirror";
7
- const runtimeContext = (view) => ({
8
- view,
9
- mode: "source",
10
- getValue: () => view.state.doc.toString(),
11
- setValue: (value) => {
12
- view.dispatch({
13
- changes: { from: 0, to: view.state.doc.length, insert: value },
14
- });
15
- },
16
- focus: () => view.focus(),
17
- insertMarkdown: () => undefined,
18
- });
19
- describe("createMiraCodeMirrorExtensions", () => {
20
- it("includes the base CodeMirror layer by default", () => {
21
- const parent = document.createElement("div");
22
- const view = new EditorView({
23
- extensions: createMiraCodeMirrorExtensions({
24
- mode: "source",
25
- runtimeContext,
26
- }),
27
- parent,
28
- });
29
- expect(view.dom.classList.contains("mira-codemirror")).toBe(true);
30
- expect(view.contentDOM.getAttribute("aria-label")).toBe("Markdown editor");
31
- view.destroy();
32
- });
33
- it("omits only the base layer while retaining portable contributions", () => {
34
- const contribution = defineMiraExtension({
35
- name: "consumer-authoring",
36
- codeMirror: () => EditorView.editorAttributes.of({ class: "consumer-authoring" }),
37
- slashCommands: [
38
- {
39
- id: "consumer-command",
40
- label: "Consumer command",
41
- insert: "Consumer command",
42
- },
43
- ],
44
- });
45
- const shared = {
46
- mode: "source",
47
- extensions: [contribution],
48
- blockControls: true,
49
- runtimeContext,
50
- };
51
- const withBase = createMiraCodeMirrorExtensions(shared);
52
- const withoutBase = createMiraCodeMirrorExtensions({
53
- ...shared,
54
- includeBaseExtensions: false,
55
- });
56
- expect(withBase).toHaveLength(withoutBase.length + createBaseCodeMirrorExtensions().length);
57
- const parent = document.createElement("div");
58
- const view = new EditorView({
59
- doc: "/",
60
- extensions: withoutBase,
61
- parent,
62
- });
63
- expect(view.dom.classList.contains("mira-codemirror")).toBe(false);
64
- expect(view.dom.classList.contains("consumer-authoring")).toBe(true);
65
- expect(parent.querySelector(".mira-block-controls-gutter")).not.toBeNull();
66
- view.destroy();
67
- });
68
- });
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=images.test.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"images.test.d.ts","sourceRoot":"","sources":["../../src/core/images.test.ts"],"names":[],"mappings":""}